#include "fonction.h"
#include "fonctionsInterruptibles.h"

//Variables globales du programme
int pinCommandeVitesse = 13; //Pin pour la commande vitesse
int pinLectureVitesse = 2; //Pin pour la lecture vitesse
int pinLectureInclinaison = 3; //Pin pour la lecture inclinaison
int pinCommandeInclinaisonMontee = 11; //Pin pour la commande en montée de l'inclinaison
int pinCommandeInclinaisonDescente = 9; //Pin pour la commande en descente de l'inclinaison

void setup() { //Fonction setup obligatoire, paramètre la carte, ne s'exécute qu'ne fois
  //Paramétrage de la carte
  pinMode(pinCommandeVitesse, OUTPUT); //Pin en sortie, commande
  pinMode(pinLectureVitesse, INPUT); //On configure le pin en lecture, entrée
  pinMode(pinLectureInclinaison, INPUT);
  pinMode(pinCommandeInclinaisonMontee, OUTPUT);
  pinMode(pinCommandeInclinaisonDescente, OUTPUT);
  
  //on active la résistance de pull-up en mettant la broche à l'état haut (mais cela reste toujours une entrée)
  digitalWrite(pinLectureVitesse, HIGH);
  digitalWrite(pinLectureInclinaison, HIGH);
  
  Serial.begin(9600); //Paramètrage du Serial Monitor ( CTRL + ALT + M pour l'ouvrir)
  
  attachInterrupt(0, lectureVitesseInterruptible, RISING); //La fonction lectureVitesseInterruptible est exécuté à chaque front montant du pin 2
  attachInterrupt(1, lectureInclinaisonInterruptible, RISING);  //La fonction lectureInclinaisonInterruptible est exécuté à chaque front montant du pin 3
}

void loop() { //Fonction loop obligatoire, tourne en boucle
  //tapisInterruptible();  //Mode interruptible
  //tapis();  //Mode normal
  tapisTEST(1);
}
